import java.util.HashSet;
import java.util.List;
import java.util.LinkedList;
import java.util.Set;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.SortingParams;


public class JedisTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		String host = "127.0.0.1";
		int port = 6379;
        Jedis jedis = new Jedis(host, port);
        jedis.connect();
//        JedisTest.testSDIFF(jedis);
//        JedisTest.testHINCBY(jedis);
        JedisTest.testDUPkey(jedis);
        
//        String test = jedis.get("test");
//        if(test!=null){
//        	System.out.println("1:"+test);
//        }
//        else{
//        	System.out.println("2:"+test);
//        }
        
//        for(int i=0;i<10;i++){
////   	 set1.add(i+"");
//        	int j=15-i;
//        	jedis.lpush("ll","aa"+j);
//   	jedis.hset("aa"+j,"a",i+"");
//   	 
//   }
//        System.out.println(jedis.lrange("ll", 0, -1));
//        SortingParams sp = new SortingParams();
//        sp.by("*->a");
////        jedis.so
//        System.out.println(jedis.sort("ll",sp));

        
        
        
//        Set<String> set1 = new HashSet<String>();
//        Set<String> set2 = new HashSet<String>();
//        for(int i=0;i<10;i++){
////        	 set1.add(i+"");
//        	jedis.sadd("set1",i+"");
//        	 
//        }
//        for(int i=9;i>=0;i--){
//        	if(i%2==0)
//        		jedis.sadd("set2",i+"");
//        }
//        
//        for(int i=9;i>=0;i--){
//        	if(i%2==1)
//        		jedis.sadd("set2",i+"");
//        }
//        jedis.sadd("set2",10+"");
//        jedis.del("testset");
//        jedis.sadd("testset", jedis.smembers("set1").toString());
//        for(String s:jedis.smembers("testset")){
//        	 System.out.println(s);
//        }
//        System.out.println("~~~~~~");
//        
//        jedis.sadd("testset", jedis.smembers("set2").toString());
//        for(String s:jedis.smembers("testset")){
//        	 System.out.println(s);
//        }
       
       
////        jedis.set("a1", "va1");
////        String[] strs= {"e1","e2","e3","e4"};
////        for(int i=0;i<10;i++)
////        jedis.lpush("testlist1", "e"+i);
//        List<String> l = new LinkedList<String>();
//        for(int i=0;i<10;i++)
//        l.add(i+"");
////        jedis.lpush("l", l);
//        long startoffset = 0;
//        long endoffset = -1;
//        System.out.println(jedis.lrange("testlist1",0,-1)); 
//        String s = "10000111";
//        int i = 10000111;
////        jedis.ge
        jedis.disconnect();

	}

	private static void testSDIFF(Jedis jedis){
		jedis.del("set1","set2");
		jedis.sadd("set1", "1");
		jedis.sadd("set1", "3");
		jedis.sadd("set1", "2");
		jedis.sadd("set2", "2");
		String diffresult = jedis.sdiff("set2","set1").toString();
		System.out.println(jedis.smembers("set1")+"__"+jedis.smembers("set2")+"__"+diffresult);
	}
	
	private static void testHINCBY(Jedis jedis){
		jedis.del("key1");
		jedis.hset("key1", "field1", "3");
		System.out.println(jedis.hincrBy("key1", "field1", -1));
	}
	
	private static void testDUPkey(Jedis jedis){
		jedis.del("key1");
		jedis.hset("key1", "field1", "3");
		jedis.set("key1", "0000");
		System.out.println(jedis.get("key1"));
		System.out.println(jedis.hget("key1","field1"));
	}
}
